package com.xkcoding.task.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@NoArgsConstructor
@Data
public class PersonInfoDto {


  @JsonProperty("code")
  private String code;
  @JsonProperty("msg")
  private String msg;
  @JsonProperty("data")
  private DataDTO data;

  @NoArgsConstructor
  @Data
  public static class DataDTO {
    @JsonProperty("total")
    private Long total;
    @JsonProperty("pageNo")
    private Integer pageNo;
    @JsonProperty("pageSize")
    private Integer pageSize;
    @JsonProperty("list")
    private List<PersonListDTO> list;

    @NoArgsConstructor
    @Data
    public static class PersonListDTO {
      @JsonProperty("personId")
      private String personId;
      @JsonProperty("personName")
      private String personName;
      @JsonProperty("gender")
      private Integer gender;
      @JsonProperty("certificateType")
      private Integer certificateType;
      @JsonProperty("jobNo")
      private String jobNo;
      @JsonProperty("pinyin")
      private String pinyin;
      @JsonProperty("createTime")
      private String createTime;
      @JsonProperty("updateTime")
      private String updateTime;
      @JsonProperty("personType")
      private String personType;
      @JsonProperty("faceNum")
      private Integer faceNum;
      @JsonProperty("fingerprintNum")
      private Integer fingerprintNum;
      @JsonProperty("personKey")
      private String personKey;
      @JsonProperty("orgIndexCode")
      private String orgIndexCode;
      @JsonProperty("orgName")
      private String orgName;
      @JsonProperty("orgPath")
      private String orgPath;
      @JsonProperty("orgPathName")
      private String orgPathName;
      @JsonProperty("personPhoto")
      private List<PersonPhotoDTO> personPhoto;
      @JsonProperty("certificateNo")
      private String certificateNo;
      @JsonProperty("phoneNo")
      private String phoneNo;
      @JsonProperty("nation")
      private String nation;
      @JsonProperty("birthday")
      private String birthday;
      @JsonProperty("stuStartTime")
      private String stuStartTime;
      @JsonProperty("stuEndTime")
      private String stuEndTime;

      @NoArgsConstructor
      @Data
      public static class PersonPhotoDTO {
        @JsonProperty("serverIndexCode")
        private String serverIndexCode;
        @JsonProperty("personPhotoIndexCode")
        private String personPhotoIndexCode;
        @JsonProperty("picUri")
        private String picUri;
      }
    }
  }
}
